কন্টাক্ট ম্যানেজমেন্ট সিস্টেম

একটি কন্টাক্ট ম্যানেজমেন্ট সিস্টেম তৈরি করা খুবই উপকারী, যা ব্যবহারকারীদের বিভিন্ন ব্যক্তির যোগাযোগের তথ্য সংরক্ষণ, সন্ধান, আপডেট এবং মুছে ফেলার সুযোগ প্রদান করে। এই প্রজেক্টটি তৈরি করতে Windows Forms Application এবং SQLite ডাটাবেস ব্যবহার করা যায়।

প্রয়োজনীয় পদক্ষেপ

  1. Visual Studio ইন্সটল করুন।
  2. SQLite ডাটাবেস ইন্সটল বা SQLite.NET প্যাকেজ যোগ করুন (যাতে লাইটওয়েট ডাটাবেস হিসেবে SQLite ব্যবহার করা যায়)।

ধাপ ১: প্রজেক্ট সেটআপ

১. Visual Studio ওপেন করুন। ২. File > New > Project এ যান। ৩. Windows Forms App (.NET Framework) নির্বাচন করুন এবং Next এ ক্লিক করুন। ৪. প্রজেক্টের নাম দিন যেমন, ContactManagementSystem এবং Create ক্লিক করুন।


ধাপ ২: SQLite ডাটাবেস যোগ করা

১. Visual Studio এর Package Manager Console ওপেন করুন। ২. নিচের কমান্ডটি রান করে System.Data.SQLite প্যাকেজ ইন্সটল করুন:

Install-Package System.Data.SQLite

ধাপ ৩: SQLite ডাটাবেস ফাইল তৈরি

Contacts.db নামে একটি SQLite ডাটাবেস তৈরি করুন এবং এতে একটি Contacts টেবিল যোগ করুন। এই টেবিলটি ID, Name, Phone, এবং Email ফিল্ড নিয়ে গঠিত হবে।

CREATE TABLE Contacts (
    ID INTEGER PRIMARY KEY AUTOINCREMENT,
    Name TEXT NOT NULL,
    Phone TEXT,
    Email TEXT
);

ধাপ ৪: ফর্ম ডিজাইন

কন্টাক্ট ম্যানেজমেন্ট সিস্টেমের UI ডিজাইন করার জন্য Windows Form এ নিচের উপাদানগুলো যোগ করুন:

TextBox: Name, Phone, এবং Email ইনপুট নেয়ার জন্য।

  • textBoxName
  • textBoxPhone
  • textBoxEmail

Button: বিভিন্ন কার্যক্রম সম্পন্ন করার জন্য।

  • Add Contact (buttonAdd)
  • Update Contact (buttonUpdate)
  • Delete Contact (buttonDelete)
  • Search Contact (buttonSearch)

DataGridView: কন্টাক্ট লিস্ট দেখানোর জন্য।

  • dataGridViewContacts

ধাপ ৫: কোড লিখুন

Form1.cs ফাইলে নিচের কোড যোগ করুন, যা ডাটাবেস কানেকশন এবং CRUD অপারেশন সম্পন্ন করবে।

ডাটাবেস কানেকশন সেটআপ

using System;
using System.Data;
using System.Data.SQLite;
using System.Windows.Forms;

namespace ContactManagementSystem
{
    public partial class Form1 : Form
    {
        private SQLiteConnection connection;

        public Form1()
        {
            InitializeComponent();
            connection = new SQLiteConnection("Data Source=Contacts.db;Version=3;");
            LoadContacts();
        }

        private void LoadContacts()
        {
            try
            {
                connection.Open();
                string query = "SELECT * FROM Contacts";
                SQLiteDataAdapter adapter = new SQLiteDataAdapter(query, connection);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                dataGridViewContacts.DataSource = dt;
            }
            finally
            {
                connection.Close();
            }
        }
    }
}

CRUD অপারেশন যোগ করা

Add Contact

private void buttonAdd_Click(object sender, EventArgs e)
{
    try
    {
        connection.Open();
        string query = "INSERT INTO Contacts (Name, Phone, Email) VALUES (@Name, @Phone, @Email)";
        SQLiteCommand command = new SQLiteCommand(query, connection);
        command.Parameters.AddWithValue("@Name", textBoxName.Text);
        command.Parameters.AddWithValue("@Phone", textBoxPhone.Text);
        command.Parameters.AddWithValue("@Email", textBoxEmail.Text);
        command.ExecuteNonQuery();
        MessageBox.Show("Contact added successfully!");
    }
    finally
    {
        connection.Close();
        LoadContacts();
    }
}

Update Contact

private void buttonUpdate_Click(object sender, EventArgs e)
{
    try
    {
        connection.Open();
        string query = "UPDATE Contacts SET Name=@Name, Phone=@Phone, Email=@Email WHERE ID=@ID";
        SQLiteCommand command = new SQLiteCommand(query, connection);
        command.Parameters.AddWithValue("@ID", GetSelectedContactID());
        command.Parameters.AddWithValue("@Name", textBoxName.Text);
        command.Parameters.AddWithValue("@Phone", textBoxPhone.Text);
        command.Parameters.AddWithValue("@Email", textBoxEmail.Text);
        command.ExecuteNonQuery();
        MessageBox.Show("Contact updated successfully!");
    }
    finally
    {
        connection.Close();
        LoadContacts();
    }
}

Delete Contact

private void buttonDelete_Click(object sender, EventArgs e)
{
    try
    {
        connection.Open();
        string query = "DELETE FROM Contacts WHERE ID=@ID";
        SQLiteCommand command = new SQLiteCommand(query, connection);
        command.Parameters.AddWithValue("@ID", GetSelectedContactID());
        command.ExecuteNonQuery();
        MessageBox.Show("Contact deleted successfully!");
    }
    finally
    {
        connection.Close();
        LoadContacts();
    }
}

Search Contact

private void buttonSearch_Click(object sender, EventArgs e)
{
    try
    {
        connection.Open();
        string query = "SELECT * FROM Contacts WHERE Name LIKE @Name";
        SQLiteDataAdapter adapter = new SQLiteDataAdapter(query, connection);
        adapter.SelectCommand.Parameters.AddWithValue("@Name", "%" + textBoxName.Text + "%");
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        dataGridViewContacts.DataSource = dt;
    }
    finally
    {
        connection.Close();
    }
}

সহায়ক মেথড: GetSelectedContactID

DataGridView থেকে নির্বাচিত কন্টাক্টের ID সংগ্রহ করতে নিচের মেথডটি ব্যবহার করুন:

private int GetSelectedContactID()
{
    if (dataGridViewContacts.SelectedRows.Count > 0)
    {
        return Convert.ToInt32(dataGridViewContacts.SelectedRows[0].Cells["ID"].Value);
    }
    else
    {
        throw new Exception("Please select a contact.");
    }
}

ইভেন্ট সংযুক্ত করা

প্রত্যেকটি বোতামের Click ইভেন্টে সঠিক মেথডটি সংযুক্ত করুন:

  • buttonAdd এর Click ইভেন্টে buttonAdd_Click মেথড।
  • buttonUpdate এর Click ইভেন্টে buttonUpdate_Click মেথড।
  • buttonDelete এর Click ইভেন্টে buttonDelete_Click মেথড।
  • buttonSearch এর Click ইভেন্টে buttonSearch_Click মেথড।

অ্যাপ রান করা

Visual Studio তে Start বা F5 প্রেস করুন। কন্টাক্ট ম্যানেজমেন্ট অ্যাপ ওপেন হবে যেখানে:

  • নতুন কন্টাক্ট যোগ করা যাবে।
  • বিদ্যমান কন্টাক্ট আপডেট এবং ডিলিট করা যাবে।
  • কন্টাক্টের নাম অনুসারে খোঁজা যাবে।

সংক্ষেপে

  • UI ডিজাইন: TextBox, Button, এবং DataGridView ব্যবহার করে।
  • SQLite ডাটাবেস: কন্টাক্ট সংরক্ষণ, আপডেট, মুছে ফেলা, এবং খোঁজার জন্য।
  • CRUD অপারেশন: Add, Update, Delete এবং Search অপারেশন পরিচালনা করা হয়েছে।

এই কন্টাক্ট ম্যানেজমেন্ট সিস্টেম ব্যবহারকারীর যোগাযোগ তথ্য সংরক্ষণ এবং পরিচালনার জন্য একটি সহজ এবং কার্যকরী সমাধান প্রদান করে।

Content added By

আরও দেখুন...

Promotion